Printing device, printing method, printing system, image processing device, and image processing method

ABSTRACT

A printer has a print unit that prints bidirectionally on a print medium; and an adjustment unit that prints, by the print unit, in contrast with each other on a second print medium, a first direction print image generated using first direction color conversion information for a first print medium, and a second direction print image generated using second direction color conversion information for a second print medium; the second direction color conversion information for the second print medium being second direction color conversion information for the first print medium that was adjusted.

CROSS REFERENCE TO RELATED APPLICATIONS

This is a U.S. National Phase application of PCT/JP2016/000906, whichclaims priority to Japanese Patent Application No. 2015-060732, filed onMar. 24, 2015, Japanese Patent Application No. 2015-065909, filed onMar. 27, 2015 and Japanese Patent Application No. 2015-060735, filed onMar. 24, 2015. The entire disclosures of Japanese Patent ApplicationNos. 2015-060732, 2015-065909 and 2015060735 are hereby incorporatedherein by reference.

TECHNICAL FIELD

The present invention relates to a printing device that printsbidirectionally, and relates more particularly to a printing device thatcan reduce the color difference between printing on the outbound passand printing on the return pass regardless of the paper type or otherprinting condition.

The present invention relates to an image processing device of data forbidirectional printing, and relates more particularly to an imageprocessing device enabling easily making changes based on a printingcondition, such as the paper type of the color conversion information(color conversion table), and minimizing color differences due to theprinting direction.

The invention also relates to an image processing device that processesdata for bidirectional printing, and relates more particularly to animage processing device capable of reducing color differences betweenthe outbound printing pass and the return printing pass regardless ofprinting conditions such as the type of paper.

BACKGROUND

Printers that print by synchronizing operation of the printhead in themain scanning direction, and the paper feed operation in thesub-scanning direction, are known from the literature. Such printersthat print on both the outbound pass and the return pass of theprinthead (print bidirectionally) in order to increase the printingspeed are also known. Such bidirectional printing is widely used incolor inkjet printers, but the order in which ink is applied differs onthe outbound pass and the return pass due to the arrangement of thenozzle rows for each color, and differences in color between theoutbound pass and the return pass can therefore result.

To address this problem, JP-A-2007-136845 proposes technology foreliminating color differences due to the order in which the colorant isdeposited in bidirectional printing, and describes a process using twolookup tables, a color process lookup table (LUT) for the outbound pass,and a color process lookup table (LUT for the return pass.

JP-A-2004-34435 describes technology for matching with high precisionthe color tone of images recorded on the outbound pass and the colortone of images recorded on the return pass, and describes forming thereturn image of each ejection pressure proportionally to the outboundimage.

Furthermore, JP-A-2003-25613 describes determining, based on the name ofthe print medium, whether the print medium to be printed on absorbs inkeasily or resists ink absorption, determines, from the image informationof the CMYK image data and the scanning pattern, the degree of change inthe hue due to bidirectional recording of the pixels, and changes thedensity of C, M, and Y to reduce the output density of hues in the inputimage data with a large change in hue, and increase the output densityof hues with a small change in hue.

SUMMARY OF INVENTION

However, even if the color difference between printing on the outboundpass and the return pass is minimized by the related art describedabove, if printing conditions such as the type of paper (paper type),the print medium, changes, the color difference may increase greatly.JP-A-2007-136845 and JP-A-2004-34435 do not describe a solution to thisproblem.

Preferably, the user can also easily adjust the color conversion processaccording to the paper type and other printing conditions.

Further preferably, the user can easily adjust (change) the lookup table(LUT) according to the paper type and other printing conditions.

JP-A-2004-34435 and JP-A-2003-25613 also do not address adjusting theLUT to solve this problem.

An objective of the present invention is therefore to provide a printingdevice that prints bidirectionally, and can reduce color differencesbetween outbound pass printing and return pass printing regardless ofthe paper type or other printing conditions.

Another objective of the invention is to provide an image processingdevice of data for bidirectional printing, the image processing deviceenabling easily changing the color conversion information (colorconversion table) according to the paper type or other printingcondition, and suppressing color differences due to the printingdirection.

A further objective of the invention is to provide an image processingdevice for processing data for bidirectional printing, the imageprocessing device enabling reducing color differences between outboundpass printing and return pass printing regardless of the paper type orother printing condition.

To achieve the foregoing objective, one aspect of the invention is aprinter having a print unit that prints bidirectionally on print media;and an adjustment unit that causes the print unit to contrastingly printa first direction print image based on first direction color conversioninformation for a first print medium, and a second direction print imagebased on second direction color conversion information for a secondprint medium, on the second print medium; the second direction colorconversion information for the second print medium being generated byadjusting second direction color conversion information for the firstprint medium.

Preferably, the first direction print image and the second directionprint image are solid color images printed in a specific color.

Further preferably, the adjustment unit prints the first direction printimage and the second direction print image beside each other.

Further preferably, the adjustment unit adjusts the second directioncolor conversion information for the second print medium based on aspecific coefficient; and prints, in pairs with the first directionprint image, plural second direction print images using second directioncolor conversion information that was adjusted based on plural values ofthe specific coefficient for plural second print media.

Yet further preferably, the adjustment unit acquires an identifier forone of the second direction print images input relationally to theprintout of the plural second direction print images, and stores thevalue of the specific coefficient corresponding to the second directionprint image identified by the acquired identifier.

Yet further preferably, when printing in the first direction, the printunit prints based on image data converted using first direction colorconversion information for the first print medium; and when printing inthe second direction, prints based on image data converted using seconddirection color conversion information for the second print medium thatwas adjusted based on the value of the specific coefficient that wasstored.

To achieve the foregoing objective, another aspect of the invention is aprinting method including: printing a first direction print image basedon first direction color conversion information for a first printmedium; generates second direction color conversion information for asecond print medium that adjusted second direction color conversioninformation for the first print medium; and prints a second directionprint image using the second direction color conversion information forthe second print medium in contrast with the first direction printimage.

To achieve the foregoing objective, another aspect of the invention is aprinting system including a host device and a printer; the printerincluding a print unit that prints bidirectionally on print media basedon image data generated by the host device; and an adjustment unit thatcauses the print unit to contrastingly print a first direction printimage based on first direction color conversion information for a firstprint medium, and a second direction print image based on seconddirection color conversion information for a second print medium, on thesecond print medium; and the host device has a driver unit thatgenerates the image data for the first direction using first directioncolor conversion information for the first print medium, and generatesthe image data for the second direction using second direction colorconversion information for the second print medium that was used usingthe value of a specific coefficient determined based on printing by theprint unit; the second direction color conversion information for thesecond print medium being generated by adjusting second direction colorconversion information for the first print medium.

To achieve the foregoing objective, another aspect of the invention isan image processing device that processes image data for bidirectionalprinting, and includes: storage that stores first color conversioninformation for printing in a first direction, and common conversioninformation that does not depend on a printing condition; and a colorconverter that, using the first color conversion information, colorconverts image data for printing in the first direction, and colorconverts, using second color conversion information for second directionprinting that is generated based on the common conversion informationand a coefficient corresponding to a printing condition, image data forprinting in the second direction.

Further preferably in another aspect of the invention, the colorconverter converts the first color conversion information based on thecommon conversion information and coefficient, and generates the secondcolor conversion information.

Further preferably in another aspect of the invention, the storagestores third color conversion information for printing in the seconddirection; and the color converter converts the third color conversioninformation based on the common conversion information and coefficient,and generates the second color conversion information.

Further preferably in another aspect of the invention, the colorconversion information is generated by normalizing plural conversioninformation acquired from fourth color conversion information for seconddirection printing each respectively prepared for plural printingconditions, and averaging the normalized conversion information.

Further preferably in another aspect of the invention, the printingcondition includes the type of paper used for printing.

To achieve the foregoing objective, another aspect of the invention isan image processing method for processing image data for printing in twodirections, including: color converting image data for first directionprinting using first color conversion information for first directionprinting, and color converting image data for second direction printingusing second color conversion information for second direction printingthat is generated based on common conversion information independent ofa printing condition and a coefficient corresponding to a printingcondition.

To achieve the foregoing objective, another aspect of the invention is aprogram causing a computer that processes image data for printing in twodirections to execute a process including: color converting image datafor first direction printing using first color conversion informationfor first direction printing, and color converting image data for seconddirection printing using second color conversion information for seconddirection printing that is generated based on common conversioninformation independent of a printing condition and a coefficientcorresponding to a printing condition.

To achieve the foregoing objective, another aspect of the invention isan image processing device including: a color converter that, usingfirst color conversion information, converts image data for firstdirection printing, and using second color conversion information,converts image data for second direction printing; the color converterconverting image data for second direction printing based on third colorconversion information that is generated based on the first colorconversion information and the second color conversion informationaccording to a printing condition.

Preferably in another aspect of the invention, the third colorconversion information is generated based on a difference between colordata converted using the first color conversion information for aspecific color, and color data converted using the second colorconversion information.

Further preferably in another aspect of the invention, the third colorconversion information is generated by adding, to color data convertedusing the first color conversion information, the product of thedifference multiplied by a coefficient predefined according to theprinting condition.

Further preferably in another aspect of the invention, the printingcondition includes the type of paper used for printing.

Further preferably in another aspect of the invention, the convertedcolor data contained in the first color conversion information, secondcolor conversion information, and third color conversion informationincludes the amount of colorant used for printing.

To achieve the foregoing objective, another aspect of the invention isan image processing method, including: converting, based on first colorconversion information, image data for printing in a first direction;converting, under a first printing condition, based on second colorconversion information, image data for second direction printing; andunder a second printing condition, converting the image data forprinting in the second direction based on third color conversioninformation that is generated based on the first color conversioninformation and the second color conversion information.

To achieve the foregoing objective, another aspect of the invention is aprogram causing a computer having a controller that converts image datafor printing in a first direction based on first color conversioninformation, and converts image data for printing in a second directionbased on second color conversion information, to execute a processincluding: converting, according to a printing condition, based on thirdcolor conversion information that is generated based on the first colorconversion information and the second color conversion information,image data for printing in the second direction.

Other objects and features of the invention from the embodimentsdescribed below.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 illustrates the configuration of a first embodiment of a printingsystem including a printing device according to the invention.

FIG. 2 illustrates a three-dimensional color conversion table.

FIG. 3 shows an example of an α table 127.

FIG. 4 illustrates the configuration of the carriage 224.

FIG. 5 illustrates the operation of the carriage 224 relative to theprint medium (paper) 229.

FIG. 6 is a flow chart of an example of a process for determiningcoefficient α.

FIG. 7 shows an example of printed image patches.

FIG. 8 is a flow chart of a process of the printing system 100.

FIG. 9 is a flow chart illustrating steps in the color conversionprocess.

FIG. 10 illustrates a second embodiment of a printing system includingan image processing device according to the invention.

FIG. 11 illustrates a three-dimensional color conversion table.

FIG. 12 shows an example of a common table 127 a.

FIG. 13 illustrates the configuration of the carriage 224 a.

FIG. 14 illustrates the operation of the carriage 224 a relative to theprint medium (paper) 229 a.

FIG. 15 is a flow chart of steps in a process generating the commontable 127 a.

FIG. 16 illustrates steps in the process generating the common table 127a.

FIG. 17 illustrates steps in the process generating the common table 127a.

FIG. 18 is a flow chart of steps in a process of the printing system 100a.

FIG. 19 is a flow chart of steps in the color conversion process of thecolor converter 122 a.

FIG. 20 illustrates a third embodiment of a printing system including animage processing device according to the invention.

FIG. 21 illustrates a three-dimensional color conversion table.

FIG. 22 shows an example of an α table 127 b.

FIG. 23 illustrates the configuration of the carriage 224 b.

FIG. 24 illustrates the operation of the carriage 224 b relative to theprint medium (paper) 229 b.

FIG. 25 is a flow chart of steps in a process of the printing system 100b.

FIG. 26 is a flow chart illustrating steps in the color conversionprocess.

DESCRIPTION OF EMBODIMENTS

An embodiment of the present invention is described below with referenceto the accompanying figures. However, the technical scope of theinvention is not limited by the embodiments described below. Note thatlike or similar parts in the figures are identified by the samereference numerals or symbols.

Embodiment 1

FIG. 1 illustrates the configuration of a first embodiment of a printingsystem including a printing device according to the invention. Theprinter 2 shown in FIG. 1 is an example of a printing device accordingto the invention. The printer 2 is a printer that prints bidirectionally(prints in two directions), during outbound printing prints based onimage data output from a color conversion process using a colorconversion table (outbound LUT 125, first direction color conversioninformation) for the outbound pass, and during return printing printsbased on image data output from a color conversion process based on acolor conversion table (return LUT) for the return pass that is adjustedaccording to the type of paper (paper type), which is the print medium,that is used. Furthermore, to determine the coefficient α (specificcoefficient) for adjusting the color conversion table for the returnpass according to the paper type, the printer 2 prints, for each valueof coefficient α, an outbound pass image (first direction print image)paired with a return pass image (second direction print image) that wasadjusted based on a coefficient α, and sets the value of the coefficientα of the return pass image that was selected by the user as the value ofthe coefficient α to use to adjust the color conversion table. Theresulting printer 2 process can minimize the color difference betweenoutbound printing and return printing appropriately to the paper type,and can simplify the setup process enabling the same.

As shown in FIG. 1, the printing system 100 according to this embodimentincludes a host computer 1 and a printer 2, which is a color inkjetprinter that prints bidirectionally.

The host computer 1 is a host device of the printer 2 and instructs theprinter 2 to print, and is, for example, a personal computer.Furthermore, while not shown in the figures, the host computer 1 has aCPU, RAM, ROM, HDD, display (display device), and operating device(command device).

As shown in FIG. 1, the functional configuration of the host computer 1includes an application executor 11 and a printer driver 12.

The application executor 11 is the originator of print requests to theprinter 2, and sends image data to be printed (referred to below as theoriginal image data) to the printer driver 12 based on the userinputting commands to the host computer 1. The original image data isdata in a standard format (such as a GDI (Graphic DataInterface)—compliant format) that expresses text, graphics and otherprint content by object unit. In the original image data, image colorsare expressed as gradations of (such as 256 gray scale values of 0-255)RGB (red, green, and blue) values, for example. Note that theapplication executor 11 a is embodied by a program describing processcontent, and hardware, such as a CPU and RAM, for example, that executesprocesses according to the program.

The printer driver 12 handles the driver function for the printer 2,processes the original image data output from the application executor11 to generate print data for the printer 2, and sends the print data tothe printer 2. The printer driver 12 is embodied by a driver programdescribing the process content, a CPU that executes processes accordingto the program, data used in the processes, and memory storing thedriver program and data.

As shown in FIG. 1, the functional configuration of the printer driver12 (controller) includes a rendering unit 121, color converter 122,halftone processor 123, command generator 124, outbound LUT 125, returnLUT 126, and adjustment table (a table) 127.

The rendering unit 121 executes a rendering process on the originalimage data output from the application executor 11, and converts theoriginal image data to pixel unit image data. More specifically, therendering unit 121 converts the original image data to image data inwhich each pixel is expressed as an RGB gradation (for example, one of256 gray scale values ranging from 0 to 255). The resulting pixel unitimage data is referred to below as RGB pixel data.

The color converter 122 executes a process (color conversion process)that converts the RGB pixel data generated by the rendering unit 121 tocolor data (referred to below as CMYK pixel data) expressed by thecolors of ink used by the printer 2 (in this example, CMYK (cyan,magenta, yellow, black)). The CMYK pixel data is ink volume datarepresenting each pixel as a CMYK gradation (for example, 256 gray scalevalues ranging from 0 to 255). The CMYK image data is data expressingthe volume of each color of ink used in the printer 2.

As described above, the color converter 122 adjusts for a specificprinting condition, such as the type of paper (paper type) used as theprint medium in the printer 2, in the color conversion process forreturn printing in the printer 2, and this process is a feature of theprinting system according to the invention. The specific content of thecolor conversion process, including this adjustment process, isdescribed further below.

The halftone processor 123 executes a halftone process that converts thepixel unit image data to image data expressed by the presence of aprinted dot. In this embodiment, the halftone processor 123 converts theCMYK pixel data to data (referred to below as dot data) expressingwhether or not CMYK dots are printed for each pixel. A printed dot is adot that is formed by the printer 2 ejecting ink onto the print medium(paper), and in this example multiple dots of different sizes, large,medium, and small, are used. The dot data in this example includes, foreach position on the print medium to which ink is ejected, informationindicating for each color whether or not a large dot is formed, a mediumdot is formed, or a small dot is formed.

The command generator 124 expresses print requests including the imagedata to be printed as commands for the printer 2. The print requestsgenerated by the command generator 124 are sent as the print data fromthe host computer 1 to the printer 2. The command generator 124, whengenerating a print request (print data), includes the dot data in theprint data by means of commands for the printer 2.

The outbound LUT 125 (first LUT, first color conversion information) andreturn LUT 126 (second LUT, second color conversion information) are,respectively, a color conversion table (color conversion information)for outbound printing, and a color conversion table for return printing,in the printer 2. A color conversion table is a table storing data forconverting the color expression of the image data output from theapplication executor 11 to a color expression using the colors of inkused in the printer 2, and more specifically is a table for the colorconversion process of the color converter 122. In this embodiment of theinvention the color conversion table is for converting color expressionsin the RGB color space to color expressions in the CMYK color space.

The color conversion table stores information for distributing the colorvalues (R, G, B) in a three-dimensional color space expressed by 8 bits(256 levels) for each color, R, G, B to the color values (C, M, Y, K) ina four-dimensional color space expressed by 8 bits (256 levels) for eachcolor C, M, Y, K. By using the color conversion table, a desired colorin the RGB space can be expressed by CMYK values. However, because theamount of data required to map every possible color (approximately 16.77million colors) expressed by 8 bits (256 levels) to the correspondingcolor is massive, the color conversion table actually only stores datafor a specific number of gradations n that is less than 256 gradations.

FIG. 2 shows an example of a color conversion table in three-dimensionalspace. The example in FIG. 2(a) expresses each RGB color in 18gradations (n=18), and the color conversion table assigns a CMYK value(C, M, Y, K) to the RGB value (R, G, B) of each of the 17 squares oneach RGB axis in the RGB color space.

If a color to be converted is not on the grid, the color converter 122calculates the corresponding CMYK values using a suitable interpolationmethod such as tetrahedral interpolation. In this case, to convert thecolor at point O in FIG. 2(a), for example, the CMYK values for point Ocan be obtained from the CMYK values (FIG. 11(b)) corresponding to theeight grid points (A to H) of the unit cube containing point O.

Note that the outbound LUT 125 and return LUT 126 respectively containdata adjusted to minimize differences in the colors printed in theprinter 2 on the outbound printing and return printing passes using aspecific type of paper (referred to below as the standard paper type;first print medium type). The outbound LUT 125 and return LUT 126 arestored in a ROM or hard disk drive device, for example.

The α table 127 is a table storing coefficient α, which is theadjustment value, for the printing condition. In this example, the αtable 127 relationally stores, for each paper type (printing condition)of print media used by the printer 2, a paper type identifier and acoefficient α for that paper type. Coefficient α is a coefficient forgenerating a color conversion table (third LUT, third color conversioninformation) adjusted to minimize the difference between colors printedduring outbound printing and return printing when print media of thepaper type corresponding to the coefficient α is used in the printer 2(under a second printing condition). As described further below, thecolor converter 122 generates third color conversion information fromthe outbound LUT 125 (first color conversion information) and return LUT126 (second color conversion information) for a first printing condition(standard paper type), and coefficient α, and uses the third colorconversion information in the color conversion process.

FIG. 3 illustrates an example of an α table 127. In the example in FIG.3, the coefficients α of 1.0, 0.8, and 1.4 are stored for the papertypes AA, BB, CC. In this example paper type AA is a standard paper type(first print condition). Paper types include, for example, plain paper,glossy paper, synthetic paper, matte paper, and handmade paper, anddifferent manufacturers make different types of even plain paper.

The value of each coefficient α is sent from the color conversioninformation adjuster 212 (adjuster) of the printer 2 described below andstored in the α table 127. The process whereby the coefficients α aredetermined by the color conversion information adjuster 212 aredescribed below. The α table 127 is stored in ROM or a hard disk drive,for example.

The printer 2 a is a color inkjet printer that executes a printingprocess based on print commands from the host computer 1 a. The printer2 a prints by synchronizing operation of the printhead 225, which hasnozzles that eject ink (color material) onto the print medium, in themain scanning direction, and the operation advancing the paper, which isthe print medium, in the sub-scanning direction, and printsbidirectionally (in two directions) by ejecting ink in both directionsof printhead 225 operation.

As shown in FIG. 1, the printer 2 has a controller 21 and a printmechanism 22.

The controller 21 is embodied by programs containing process content, aCPU that executes processes according to the programs, RAM, ROM thatstores the programs, or ASIC, for example. The functional configuration,as shown in FIG. 1, includes a print controller 211 and a colorconversion information adjuster 212.

The print controller 211 receives print data in the print commands, andcauses the print mechanism 22 to execute a printing process according tothe print data. The print controller 211 controls the main scanning unit221 and sub-scanning unit 222. The print controller 211, as controlledby the color conversion information adjuster 212, causes the printmechanism 22 to print image patches for determining the value ofcoefficient α.

The color conversion information adjuster 212 executes the process fordetermining the value of coefficient α. The process executed by thecolor conversion information adjuster 212 is a feature of this printer2, and a specific example of the process content is described below.

The print mechanism 22 executes a printing process on the print medium(paper) as instructed by the controller 21. As shown in FIG. 1, theprint mechanism 22 has a main scanning unit 221 and sub-scanning unit222. The print controller 211 and print mechanism 22 enclosed in thedotted line in FIG. 1 are referred to below as the print unit 23.

The main scanning unit 221 has a printhead 225 with nozzles 227 thateject CMYK color inks, a carriage 224 that carries and moves theprinthead 225 in the main scanning direction, and a carriage motor 223for moving the carriage 224.

FIG. 4 is a plan view of the printhead 225 from the nozzle face side. Inthis example, the printhead 225 has a plurality of nozzles 227corresponding to the colors black (K), magenta (M), yellow (Y), and cyan(C) arranged in nozzle rows 228 corresponding to each color in thesub-scanning direction (the conveyance direction of the print medium).In this example, each nozzle row 228 comprises 180 nozzles 227 in azigzag patter at a pitch of 180 dpi (dots per inch).

The printheads 225 are arranged in the order K-M-Y-C in the mainscanning direction (direction of carriage 224 movement), eject ink inthe order K-M-Y-C on the outbound pass, and eject ink in the orderC-Y-M-K on the return pass. Because the ink ejection order differs onthe outbound pass and return pass, the order in which the inks areapplied changes, and color reproduction is different on the outboundpass and return pass. Therefore, if the same color conversion process isapplied in both directions, color differences (mottling) may appearbetween areas printed on the outbound pass and areas printed on thereturn pass. In the color conversion process, this embodiment of theinvention therefore uses different color conversion tables (a first LUTand a second LUT) for outbound printing and return printing. Inaddition, when a first LUT and second LUT are used, color differencescan be reduced under a first printing condition, but reducing colordifferences may not be possible under a second printing condition. Inthis event, a third LUT is used as described above. In this embodiment,there is a difference in ink characteristics based on the type of paperunder the first printing condition and second printing condition.

The sub-scanning unit 222 is a device that conveys the print medium 229in the sub-scanning direction. The sub-scanning unit 222 has a paperfeed motor 226 for moving the print medium 229 synchronized to theoperation of the printhead 225.

FIG. 5 illustrates the operation of the carriage 224 relative to theprint medium 229. FIG. 5 shows the relative positions of the printmedium 229 and carriage 224 with the carriage 224 moving in thedirection of the arrows in the figure relative to the print medium 229.The printer 2 prints while moving the carriage 224 in the main scanningdirection from the start printing position P (home position) indicatedby the dotted line. When printing to the end of the print image ends,the printer 2 stops movement of the carriage 224, advances the paper inthe sub-scanning direction, and continues printing while moving thecarriage 224 to the start printing position P side. When printing to theend of the print image ends, the printer 2 again stops moving thecarriage 224, and after advancing the paper in the sub-scanningdirection, and continues printing while moving the carriage 224 in themain scanning direction.

The printer 2 thus prints while repeating printing in the main scanningdirection and the paper conveyance operation in the sub-scanningdirection. In this example, printing while the carriage 224 moves to theright in the main scanning direction relative to the sub-scanningdirection is referred to as “outbound printing,” and printing whilemoving to the left in the main scanning direction is referred to as“return printing.” The image data for one pass, which is equal to theimage printed in the area that is printed during one outbound printingpass or return printing pass is referred to below as “partial imagedata.”

More specifically, the first unit of partial image data (first partialimage data) is printed on the first outbound printing pass. The secondunit of partial image data (second partial image data) is then printedon the following return printing pass, and the third unit of partialimage data (third partial image data) is then printed on the followingoutbound printing pass. Odd numbered partial image data is thus printedduring outbound printing, and even numbered partial image data isprinted during return printing. When printing the entire image iscompleted, the carriage 224 is moved to the start printing position Pand then waits for the next print command.

Processing is executed as described below in the printing system 100according to the embodiment of the invention configured as describedabove.

The process of determining the coefficient α for generating the colorconversion table (third LUT) for return printing appropriately to thepaper type of the print medium is described first. FIG. 6 is a flowchart showing an example of the process of determining coefficient α.Note that FIG. 6 describes the process content of the color conversioninformation adjuster 212.

This process first prints image patches corresponding to multiplecoefficients α. The user starts the color conversion informationadjuster 212 from an operating unit (not shown in the figure) of theprinter 2. Next, from the operating unit of the printer 2, the userinputs the print color (color of the patch), the increment and range ofα values, and paper type identifier, and the color conversioninformation adjuster 212 acquires the input information (step S1 in FIG.6).

The print color is a representative color for determining LUT (3), and acolor enabling an effective color conversion process with littledeviation for the paper type is selected. The print color can bedetermined by various methods.

One method selects a color with the greatest difference between LUT (1)and LUT (2). This method selects the color with the greatest total(ΔC+ΔM+ΔY+ΔK) of the difference (ΔC=C2−C1, ΔM=ΔM2−M1, ΔY=Y2−Y1,ΔK=K2−K1) between each color component of the converted color (C1, M1,Y1, K1) stored for that color (R, G, B) in LUT (1), and the convertedcolor (C2, M2, Y2, K2) stored for that color (R, G, B) in LUT (2).

In a variation of this method, a specific number (such as 10) of colorswith the greatest color difference may be selected, and of this specificnumber of colors, the color with the lowest K value (the value of K2)(that is, the color using the smallest amount of black ink) may beselected.

In a second method, a user of the printing system 100 specifies thecolor. This method is effective when there is a color for which it isimportant to prevent mottling.

A third method is to select a color that is frequently used in theprinting system 100.

The increment and range of a are the pitch, and minimum and maximum αvalues in the generated image patch. For example, if the increment is0.2 and the range is 0 to 2.0, image patches are generated for each α atan increment of 0.2 from an image patch corresponding to α=0 to an imagepatch corresponding to α=2.0, and the resulting 11 image patches arethen generated (printed).

Having acquired this information, the color conversion informationadjuster 212 acquires from the application executor 11 the values of theconverted colors (C1, M1, Y1, K1) and (C2, M2, Y2, K2) corresponding tothe acquired print color (R, G, B) in the outbound LUT 125 and thereturn LUT 126 (step S2 in FIG. 6).

Next, the color conversion information adjuster 212 calculates the color(C3, M3, Y3, K3) of each image patch to generate (step S3 in FIG. 6). Inother words, the color conversion information adjuster 212 determinescandidate colors in LUT (3). More specifically, the color conversioninformation adjuster 212 determines each α value for generating an imagepatch from the increments and ranges of a determined in step S1, andcalculates the color (C3, M3, Y3, K3) of the image patch correspondingto each α using the following equations.C3=C1+α×(C2−C1)M3=M1+α×(M2−M1)Y3=Y1+α×(Y2−Y1)K3=K1+α×(K2−K1)

In the above example in which the increment of a is 0.2 and the range is0 to 2.0, the color (C3, M3, Y3, K3) of each of the 11 image patchesfrom α=0.0, α=0.2, α=0.4 to α=2.0 is determined.

Next, the color conversion information adjuster 212 generates image datafor each image patch according to the calculated color (C3, M3, Y3, K3)of each image patch (step S4 in FIG. 6). FIG. 7 shows examples of theprinted image patches. In FIGS. 7 (A) and (B), the image rectangles (PCin the figure) with numbers (1), (2) and so forth (patch identifier) areimage patches corresponding to the indicated a values.

Each image patch comprises two adjacent rectangles in the main scanningdirection (FIG. 7 (A)) or sub-scanning direction (FIG. 7 (B)). Of thetwo rectangles, the rectangles on the left in FIG. 7 (A) or the top inFIG. 7 (B) are the images printed on the outbound printing pass, thatis, images of the converted color (C1, M1, Y1, K1) in the outbound LUT125; and rectangles on the right in FIG. 7 (A) or the bottom in FIG. 7(B) are candidate images printed on the return printing pass, that is,images of the color (C3, M3, Y3, K3) calculated in step S3.

In each image patch ((1), (2), . . . ), the image printed on theoutbound pass is the same color (color data), and the image printed onthe return pass is an image of the color (color data) calculated usingthe α value shown below the image, and is an image of the color thatdiffers by a.

The image patches generated by the printing system 100 enable easilycomparing colors during outbound printing and colors during returnprinting on a second type of print medium.

The color conversion information adjuster 212 generates print data forprinting the image patches. More specifically, the color conversioninformation adjuster 212 generates image data for each of the aboveimage patches (data with a color value for each pixel) from the values(C1, M1, Y1, K1) acquired in step S2, the values (C3, M3, Y3, K3)corresponding to each α calculated in step S3, and predeterminedlocation information for each image patch.

Next, the color conversion information adjuster 212 applies the samehalftone process as the process of the halftone processor 123 to thegenerated image data, generates dot data, and outputs data enabling thegenerated dot data to be interpreted by the print controller 211.

The color conversion information adjuster 212 generates a patchidentifier for each image patch, and includes an image of the patchidentifier in the print data so that the patch identifier is printednear the corresponding image patch. The color conversion informationadjuster 212 also stores the patch identifier relationally to the αvalue of the image patch corresponding to the patch identifier.

As a result, when print data for the image patch is generated, the colorconversion information adjuster 212 passes the print data to the printcontroller 211 and instructs printing the image patch (step S5 in FIG.6).

The print controller 211 receiving the print command interprets thereceived print data, and controls the print mechanism 22 based on theinterpretation to make the print mechanism 22 print the image patches.As a result, image patches such as shown in FIG. 7 are printed on theprint medium (paper) 229. Note that the printed print medium (paper) 229is the print medium of the paper type identified by the paper typeidentifier acquired by the color conversion information adjuster 212 instep S1. The patch identifier added to each image patch described aboveis also printed beside each image patch as shown in FIG. 7. Note thatnot printing the α value of each image patch shown in FIG. 7 is alsopossible.

When image patches are printed as described above, the user of theprinting system 100 checks (for example, visually compares) the imagepatches and selects the image patch with the least difference betweenthe outbound pass image and the return pass image (the color differencebetween the left and right rectangles in each image patch in the exampleshown in FIG. 7 (A)). The user then inputs to the printer 2 the patchidentifier (such as the patch number (1), (2) in the example in FIG. 7)printed beside the selected image patch. Because the color differencebetween the outbound image and the return image is smallest in the imagepatch of patch number (3) in the examples in FIGS. 7 (A) and (B),information identifying patch number (3) is input to the printer 2. Notethat the patch identifier may be input through an operating unit (notshown in the figure) of the printer 2.

The color conversion information adjuster 212 then acquires the inputpatch identifier (step S6 in FIG. 6). Next, the color conversioninformation adjuster 212 acquires the α value stored relationally to theacquired patch identifier, and sends the α value with the paper typeidentifier acquired in step S1 to the host computer 1 (step S7 in FIG.6). Because the patch number (3) is selected by the user in the examplein FIG. 7, 0.4 is sent as the α value to the host computer 1.

The α value and paper type identifier are stored in the α table 127 ofthe printer driver 12 with the α value related to the paper typeidentifier.

The process of determining the coefficient α for generating a colorconversion table (LOT (3)) for return printing based on the type of theprint medium is executed as described above.

Note that one print color is specified, an image patch is generated, andthe α value is determined from the resulting image patch for one papertype above, but multiple print colors may be specified. In this event,steps S2 to S5 above are executed for each specified color, the userselects from among the generated image patches the image patches withthe smallest color difference, and the α values are determined from theselected image patches. The average of the multiple α values is then setas the α value for that paper type.

The complete process from the application executor 11 asserting a printrequest to the printer 2 executing the printing process is describednext.

FIG. 8 is a flow chart showing an example of the process of the printingsystem 100. When a print request is asserted by the application executor11, the printer driver 12 receives the print request including theoriginal image data (step S11 in FIG. 8). Note that information aboutthe type of the print medium used in the printer 2 (referred to below asthe paper type identifier) is included in the print request as a printcondition.

The received print request information is passed to the rendering unit121, and the rendering unit 121 executes a rendering process on theoriginal image data contained in the print request to generate RGB pixeldata (step S12 in FIG. 8).

The print request including the generated RGB pixel data is passed tothe color converter 122, and the color converter 122 then executes thecolor conversion process and converts the RGB pixel data to CMYK pixeldata (step S13 in FIG. 8). In this color conversion process, the colorconverter 122 generates a third LUT (third color conversion information)for the return pass using the outbound LUT (first color conversioninformation), return LUT (second color conversion information), andadjustment table (α table) 127, and using the third LUT executes aprocess appropriate to the paper type specified by the paper typeidentifier. The specific content of the color conversion process isdescribed below.

The print request including the generated CMYK pixel data is passed tothe halftone processor 123, and the halftone processor 123 executes ahalftone process on the CMYK pixel data and converts the CMYK pixel datato dot data (step S14 in FIG. 8).

The print request including the generated dot data is then passed to thecommand generator 124, and the command generator 124 generates printdata expressing the print request with commands for the printer 2 (stepS15 in FIG. 8).

The host computer 1 sends the generated print data to the printer 2(step S16 in FIG. 8).

The printer 2 receives the print data, and executes a printing processaccording to the commands contained in the print data (step S17 in FIG.8). More specifically, the controller 21 interprets the commands, andcontrols the main scanning unit 221 and sub-scanning unit 222 of theprint mechanism 22 based on the interpreted result. The print mechanism22 operates as controlled, and by the bidirectional operation of theprinthead 225, ejects ink and prints on the print medium indicated bythe paper type identifier.

The process from requesting printing to printing is thus executed.

FIG. 9 is a flow chart of steps in the color conversion process of thecolor converter 122 (step S13 in FIG. 8).

First, the color converter 122 acquires the data of the outbound LUT 125and return LUT 126 (step S131 in FIG. 9).

Next, the color converter 122 determines the difference (referred tobelow as DIF) between the amounts of ink (amounts of colorant) in theoutbound LUT 125 and return LUT 126 (step S132 in FIG. 9). Morespecifically, for each grid point (R, G, B) described above, the colorconverter 122 calculates the difference of the value of each color(color data) (C, M, Y, K) stored in the return LUT 126 (referred tobelow as (C2, M2, Y2, K2)) minus the value of each corresponding color(C, M, Y, K) stored in the outbound LUT 125 (referred to below as (C1,M1, Y1, K1)). More specifically, the color converter 122 calculates thevalues ΔC=C2−C1, ΔM=M2−M1, ΔY=Y2−Y1, ΔK=K2−K1 for each grid point (R, G,B).

Next, the color converter 122 acquires the value of coefficient α fromthe α table 127 (step S133 in FIG. 9). More specifically, the colorconverter 122 reads from the α table 127 the value of the coefficient αstored relationally to the paper type identified by the paper typeidentifier contained in the print request. In the example in FIG. 3, ifthe paper type is BB, the color converter 122 acquires the value 0.8 asthe value of coefficient α.

Next, the color converter 122 generates third color conversioninformation for return printing appropriate to the paper type identifiedby the paper type identifier (step S134 in FIG. 9). The color converter122 generates the third color conversion information by reflecting thedifference in the amounts of ink in the outbound LUT 125 and return LUT126 on the values of the outbound LUT 125 at a ratio proportional to thevalue of the acquired coefficient α.

More specifically, the color converter 122 calculates, for each gridpoint, the (C, M, Y, K) values (referred to below as (C3, M3, Y3, K3))corresponding to the (R, G, B) values of each grid point in the thirdcolor conversion information using the following equations.C3=C1+α×ΔCM3=M1+α×ΔMY3=Y1+α×ΔYK3=K1+α×ΔK

Note that the grid points (R, G, B) are the same in the outbound LUT125, return LUT 126, and third LUT.

Next, the color converter 122 converts the RGB pixel data to CMYK pixeldata using the outbound LUT 125 and third LUT (step S135 in FIG. 9). Inthe color conversion process, the color converter 122 generates CMYKpixel data using the outbound LUT 125 for the RGB pixel data used foroutbound printing, and for the RGB pixel data used for return printing,generates CMYK pixel data using the third LUT. More specifically, foreach pixel in the RGB pixel data, the color converter 122 converts theR, G, B values of the pixel to the C, M, Y, K values stored at that gridpoint in the color conversion table if that RGB value is a grid point inthe color conversion table (outbound LUT 125 or third LUT); and if thatRGB value is not a grid point in the color conversion table, convertsthe R, G, B values to C, M, Y, K values by the interpolation processdescribed above using the C, M, Y, K values of the surrounding gridpoints.

In this way, a color conversion table (third LUT) that is adjustedaccording to the type of paper used for printing to minimize colordifferences between outbound printing and return printing is used forreturn printing.

The color conversion process is executed as described above. Note thatthe color converter 122 may store the generated third LUT untilprocessing the next print request. In this case, if the paper typespecified by the next print request is the same as the paper type usedto generate the third LUT, the color converter 122 can omit the processof steps S31 to S34 in the color conversion process applied to the nextprint request, and the stored third LUT can be used in step S35.

Changing (adjusting) the color conversion table for return printingbased on coefficient α is described above, but the color conversiontable for outbound printing may also be changed according to the papertype. This configuration also generates a new color conversion table foroutbound printing based on the difference between the outbound LUT 125and return LUT 126 using coefficients previously defined for paper typesas described above, and uses the color conversion table that isgenerated in the color conversion process.

Third LUTs corresponding to different paper types may also be previouslygenerated and stored, and the appropriate third LUT may be used in thecolor conversion process.

Furthermore, in the printing system 100 according to this embodiment, acolor conversion information adjuster 212 on the printer 2 side executesthe process determining the α values, but the printing system 100 may beconfigured to execute the same process on the host computer 1 side.

In addition, the color conversion process is executed on the hostcomputer 1 side in the printing system 100 according to this embodiment,but may be executed on the printer 2 side.

Furthermore, the color conversion table is adjusted using the paper typeas the printing condition in this embodiment, but the color conversiontable may be adjusted according to other printing conditions, includingtemperature and humidity.

As described above, the printing system according to the foregoingembodiment and variations thereof can easily adjust the color conversiontable because the user visually determines, based in printed imagepatches (image samples), the value of coefficient α used for generatinga color conversion table appropriate to the paper type or other printingcondition.

Furthermore, because the printed image patches are solid color imageswith the images for comparison printed side by side, color differencestherebetween are easily recognized and can be accurately identified bythe user.

Furthermore, by specifying a color with an obvious color difference asthe print color for determining a, a color conversion table with littlecolor difference can be adjusted, and color differences between outboundprinting and return printing can be minimized.

Furthermore, because a color conversion table for outbound printing orreturn printing that was appropriately adjusted by coefficient α for theprinting condition is used in the color conversion process whenprinting, color differences between outbound printing and returnprinting can be minimized under various printing conditions.

Note that the foregoing embodiment describes a color conversion processfrom RGB color space to CMYK color space, the invention can also beapplied to color conversion processes for converting between other colorspaces.

Embodiment 2

FIG. 10 illustrates the configuration of a second embodiment of aprinting system including an image processing device according to theinvention. The printer driver 12 a shown in FIG. 10 is an example of theimage processing device according to the invention. In the colorconversion process executed in the process of generating print data fora printer 2 a that prints bidirectionally (prints in two directions),the printer driver 12 a generates a lookup table (second colorconversion information), based on an outbound pass color conversiontable (outbound LUT 125 a, first color conversion information) that ispreviously defined for the paper type, a common table 127 a (commonconversion information) expressing common trends independent of thepaper type, and a paper type coefficient 128 a representingcharacteristics of the paper type used, and uses the generated lookuptable in the color conversion process applied for the return pass. As aresult of this process, color differences between outbound printing andreturn printing passes produced by the printer 2 due to the paper typecan be reduced, and the user may simply input a paper type coefficient128 a.

As shown in FIG. 10, the printing system 100 a according to thisembodiment includes a host computer 1 a and a printer 2 a, which is acolor inkjet printer that prints bidirectionally.

The host computer 1 a is a host device of the printer 2 a and instructsthe printer 2 a to print, and is, for example, a personal computer.Furthermore, while not shown in the figures, the host computer 1 a has aCPU, RAM, ROM, HDD, display (display device), and operating device(command device).

As shown in FIG. 10, the functional configuration of the host computer 1a includes an application executor 11 a and a printer driver 12 a.

The application executor 11 a is the originator of print requests to theprinter 2 a, and sends image data to be printed (referred to below asthe original image data) to the printer driver 12 a based on the userinputting commands to the host computer 1 a. The original image data isdata in a standard format (such as a GDI (Graphic DataInterface)—compliant format) that expresses text, graphics and otherprint content by object unit. In the original image data, image colorsare expressed as gradations of (such as 256 gray scale values of 0-255)RGB (red, green, and blue) values, for example. Note that theapplication executor 11 a is embodied by a program describing processcontent, and hardware, such as a CPU and RAM, for example, that executesprocesses according to the program.

The printer driver 12 a handles the driver function for the printer 2 a,processes the original image data output from the application executor11 a to generate print data for the printer 2 a, and sends the printdata to the printer 2 a. The printer driver 12 a is embodied by a driverprogram describing the process content, a CPU that executes processesaccording to the program, data used in the processes, and memory storingthe driver program and data.

As shown in FIG. 10, the functional configuration of the printer driver12 a includes a rendering unit 121 a, color converter 122 a, halftoneprocessor 123 a, command generator 124 a, outbound LUT 125 a, return LUT126 a, common table 127 a, paper type coefficient 128 a, and storage129.

The rendering unit 121 a applies a rendering process to the originalimage data output from the application executor 11 a, and converts theoriginal image data to pixel unit image data. More specifically, therendering unit 121 a converts the original image data to image data inwhich each pixel is expressed as an RGB gradation (for example, one of256 gray scale values ranging from 0 to 255). The resulting pixel unitimage data is referred to below as RGB pixel data.

The color converter 122 a executes a process (color conversion process)that converts the RGB pixel data generated by the rendering unit 121 ato color data (referred to below as CMYK pixel data) expressed by thecolors of ink used by the printer 2 a (in this example, CMYK (cyan,magenta, yellow, black)). The CMYK pixel data is ink volume datarepresenting each pixel as a CMYK gradation (for example, 256 gray scalevalues ranging from 0 to 255). The CMYK image data is data expressingthe volume of each color of ink used in the printer 2 a.

As described above, the color converter 122 a adjusts for a specificprinting condition, such as the type of paper (paper type) used as theprint medium in the printer 2 a, in the color conversion process forprinting on the return pass (printing in the second direction) of theprinter 2 a, and this process is a feature of the printing systemaccording to the invention. The specific content of the color conversionprocess, including this adjustment process, is described further below.

The halftone processor 123 a executes a halftone process that convertsthe pixel unit image data to image data expressed by the presence of aprinted dot. In this embodiment, the halftone processor 123 a convertsthe CMYK pixel data to data (referred to below as dot data) expressingwhat CMYK dots are printed for each pixel. A printed dot is a dot thatis formed by the printer 2 a ejecting ink onto the print medium (paper),and in this example multiple different sizes of dots, large, medium, andsmall, are used. The dot data in this example includes, for eachposition on the print medium to which ink is ejected, informationindicating for each color whether or not a large dot is formed, a mediumdot is formed, or a small dot is formed.

The command generator 124 a expresses print requests including the imagedata to be printed as commands for the printer 2 a. The print requestsgenerated by the command generator 124 a are sent as the print data fromthe host computer 1 a to the printer 2 a. The command generator 124 a,when generating a print request (print data), includes the dot data inthe print data by means of commands for the printer 2 a.

The storage 129 a stores an outbound LUT 125 a (first color conversioninformation), return LUT 126 a (third color conversion information),common table 127 a (common conversion information), and paper typecoefficient 128 a, and may be a hard disk drive or memory, for example.

The outbound LUT 125 a and return LUT 126 a are, respectively, a colorconversion table (color conversion information) for printing on theoutbound pass (first printing direction), and a color conversion table(color conversion information) for printing on the return pass (secondprinting direction), in the printer 2 a. A color conversion table is atable storing data for converting the color expression of the image dataoutput from the application executor 11 a to a color expression usingthe colors of ink used in the printer 2 a, and more specifically is atable for the color conversion process of the color converter 122 a. Inthis embodiment of the invention the color conversion table is forconverting color expressions in the RGB color space to color expressionsin the CMYK color space.

The color conversion table stores information for distributing the colorvalues (R, G, B) in a three-dimensional color space expressed by 8 bits(256 levels) for each color, R, G, B to the color values (C, M, Y, K) ina four-dimensional color space expressed by 8 bits (256 levels) for eachcolor C, M, Y, K. By using the color conversion table, a desired colorin the RGB space can be expressed by CMYK values. However, because theamount of data required to map every possible color (approximately 16.77million colors) expressed by 8 bits (256 levels) to the correspondingcolor is massive, the color conversion table actually only stores datafor a specific number of gradations n that is less than 256 gradations.

FIG. 11 shows an example of a color conversion table inthree-dimensional space. The example in FIG. 11(a) expresses each RGBcolor in 18 gradations (n=18), and the color conversion table assigns aCMYK value (C, M, Y, K) to the RGB value (R, G, B) of each of the 17squares on each RGB axis in the RGB color space.

If a color to be converted is not on the grid, the color converter 122 acalculates the corresponding CMYK values using a suitable interpolationmethod such as tetrahedral interpolation. In this case, to convert thecolor at point O in FIG. 11(a), for example, the CMYK values for point Ocan be obtained from the CMYK values (FIG. 11(b)) corresponding to theeight grid points (A to H) of the unit cube containing point O.

Note that the outbound LUT 125 a and return LUT 126 a respectivelycontain data adjusted to minimize differences in the colors printed bythe printer 2 a on the outbound printing and return printing passesusing a specific type of paper (referred to below as the standard papertype). The outbound LUT 125 a (first color conversion information) andreturn LUT 126 a (third color conversion information) are lookup tablesfor a standard paper type. Note that below a return LUT without thereference numeral 126 a means all return LUTs, and is not limited to thereturn LUT 126 a stored in the host computer 1 a. The outbound LUT 125 aand return LUT 126 a are stored on hard disk drive, for example. Notethat when the storage 129 a stores the paper type coefficient 128 adescribed below for the standard paper type, the return LUT 126 a may beomitted. Note also that the outbound LUT 125 a is also used in the colorconversion process for paper types other than the standard paper type inthis embodiment. In addition, paper types include, for example, plainpaper, glossy paper, synthetic paper, matte paper, and handmade paper,and different manufacturers make different types of even plain paper.

The common table 127 a is a table storing information expressingdifferences between the return LUT and the outbound LUT 125 a as acommon tendency independent of the paper type. More specifically, inthis example, the common table 127 a stores a ratio between the (C, M,Y, K) values in the return LUT and the outbound LUT 125 a that areassigned to the same grid points in the RGB space described based onFIG. 11. In other words, the common table 127 a stores information forconverting the color values (CMYK) stored in the outbound LUT 125 a tothe color values (CMYK) stored in the return LUT. The values of theratios are stored as normalized values.

FIG. 12 shows an example of a common table 127 a. In the example in FIG.12, the common table 127 a stores 0.5 as the value for C (cyan) at gridpoint 1, and this means that the C value assigned to grid point 1 in thereturn LUT is 0.5 times the C value assigned to grid point 1 in theoutbound LUT 125 a. The same principle applies to the other colors andgrid points.

A method of generating the common table 127 a is described furtherbelow.

The paper type coefficient 128 a is a coefficient for translating thecommon table 127 a to conversion information specific to different papertypes. The paper type coefficient 128 a comprises a ratio (α1) and anoffset (α2), and these two coefficients are stored relationally to eachpaper type (relationally to the paper type identifier). Note that whenthe standard paper type return LUT 126 a is not stored, this embodimentof the invention stores at least a paper type coefficient 128 a for thestandard paper type.

The printer 2 a is a color inkjet printer that executes a printingprocess based on print commands from the host computer 1 a. The printer2 a prints by synchronizing operation of the printhead 225 a, which hasnozzles that eject ink (colorant) onto the print medium, in the mainscanning direction, and the operation advancing the paper, which is theprint medium, in the sub-scanning direction, and prints bidirectionally(in two directions) by ejecting ink in both directions of printhead 225a operation.

As shown in FIG. 10, the printer 2 a has a controller 21 a and a printmechanism 22 a.

The controller 21 a receives print data with the print commands, andcauses the print mechanism 22 a to execute a printing process accordingto the print data. The controller 21 a is embodied by programscontaining process content, a CPU that executes processes according tothe programs, RAM, ROM that stores the programs, or ASIC, for example.

The print mechanism 22 a executes a printing process on the print medium(paper) as instructed by the controller 21 a. As shown in FIG. 10, theprint mechanism 22 a has a main scanning unit 221 a and sub-scanningunit 222 a.

The main scanning unit 221 a has a printhead 225 a with nozzles 227 athat eject CMYK color inks, a carriage 224 a that carries and moves theprinthead 225 a in the main scanning direction, and a carriage motor 223a for moving the carriage 224 a.

FIG. 13 is a plan view of the printhead 225 a from the nozzle face side.In this example, the printhead 225 a has a plurality of nozzles 227 acorresponding to the colors black (K), magenta (M), yellow (Y), and cyan(C) arranged in nozzle rows 228 a corresponding to each color in thesub-scanning direction (the conveyance direction of the print medium).In this example, each nozzle row 228 a comprises 180 nozzles 227 a in azigzag patter at a pitch of 180 dpi (dots per inch).

The printheads 225 are arranged in the order K-M-Y-C in the mainscanning direction (direction of carriage 224 a movement), eject ink inthe order K-M-Y-C on the outbound pass, and eject ink in the orderC-Y-M-K on the return pass. Because the ink ejection order differs onthe outbound pass and return pass, the order in which the inks areapplied changes, and color reproduction is different on the outboundpass and return pass. Therefore, if the same color conversion process isapplied in both directions, color differences (mottling) may appearbetween areas printed on the outbound pass and areas printed on thereturn pass. In the color conversion process, this embodiment of theinvention therefore uses two color conversion tables (outbound LUT 125 aand return LUT), for outbound printing and return printing.

The sub-scanning unit 222 a is a device that conveys the print medium229 a in the sub-scanning direction. The sub-scanning unit 222 a has apaper feed motor 226 a for moving the print medium 229 a synchronized tothe operation of the printhead 225 a.

FIG. 14 illustrates the operation of the carriage 224 a relative to theprint medium 229 a. FIG. 14 shows the relative positions of the printmedium 229 a and carriage 224 a with the carriage 224 a moving in thedirection of the arrows in the figure relative to the print medium 229a. The printer 2 a prints while moving the carriage 224 a in the mainscanning direction from the start printing position P (home position)indicated by the dotted line. When printing to the end of the printimage ends, the printer 2 a stops movement of the carriage 224 a,advances the paper in the sub-scanning direction, and continues printingwhile moving the carriage 224 a to the start printing position P side.When printing to the end of the print image ends, the printer 2 a againstops moving the carriage 224 a, and after advancing the paper in thesub-scanning direction, and continues printing while moving the carriage224 a in the main scanning direction.

The printer 2 a thus prints while repeating printing in the mainscanning direction and the paper conveyance operation in thesub-scanning direction. In this example, printing while the carriage 224a moves to the right in the main scanning direction relative to thesub-scanning direction is referred to as “outbound printing,” andprinting while moving to the left in the main scanning direction isreferred to as “return printing.” The image data for one pass, which isequal to the image printed in the area that is printed during oneoutbound printing pass or return printing pass is referred to below as“partial image data.”

More specifically, the first unit of partial image data (first partialimage data) is printed on the first outbound printing pass. The secondunit of partial image data (second partial image data) is then printedon the following return printing pass, and the third unit of partialimage data (third partial image data) is then printed on the followingoutbound printing pass. Odd numbered partial image data is thus printedduring outbound printing, and even numbered partial image data isprinted during return printing. When printing the entire image iscompleted, the carriage 224 a is moved to the start printing position Pand then waits for the next print command.

A printing system 100 a according to this embodiment is configured asdescribed above.

The process of generating the common table 127 a is described next. Thecommon table 127 a is generated by the manufacturer of the printer 2 a,for example, before the printer 2 a is shipped. The common table 127 ais generated using a computer that executes a common table generatingprogram and processes defined by the program. Below, the computer withthe common table generating program is referred to as the common tablegenerator. FIG. 15 is a flow chart of steps in the process generatingthe common table 127 a.

First, the operation of the common table generator (the generator of thecommon table 127 a) inputs the outbound LUT 125 a data to the commontable generator. Based on the input, the common table generator acquiresthe outbound LUT 125 a (step S1 a in FIG. 15). FIG. 16 and FIG. 17 areused to describe the process of generating the common table 127 a. Forsimplicity, FIG. 16 and FIG. 17 show data for color conversion tableshaving three grid points and three paper types (paper types A, B, C).

Next, the operator generates return LUTs (referred to below aspaper-type return LUT; fourth color conversion information) optimizedfor multiple paper types (three types in FIG. 16 and FIG. 17), andinputs that data to the common table generator. Based on this input, thecommon table generator acquires the paper-type return LUTs (step S2 a inFIG. 15). Note that a paper-type return LUT is a LUT adjusted tominimize color differences between outbound printing and return printingwhen print media of the corresponding paper type is used for printing.

FIG. 16(a) illustrates the acquired outbound LUT 125 a. Because theoutbound LUT 125 a is common to all paper types, the outbound LUT 125 ahas the same color conversion information for each paper type A, B, C.FIG. 16(b) shows examples of a paper-type return LUT for each papertype. In FIGS. 16(a) and (b), the C, M, Y, K values in each tableindicate the amount of ink of each color assigned to the correspondinggrid point (grid point number).

Next, the common table generator generates a conversion table(conversion information) for each paper type (step S1 a in FIG. 15). Theconversion table is a table for converting the outbound LUT 125 a to apaper-type return LUT, that is, is a table storing, for each color valuein the paper-type return LUT, the ratio for each color value stored inthe outbound LUT 125 a.

Therefore, the common table generator stores each color value in theacquired paper-type return LUT divided by the corresponding color valuein the acquired outbound LUT 125 a as the values in the conversion tablefor each paper type. If in each table the values of C, M, Y, K at gridpoint number i are Cio, Mio, Yio, Kio in the outbound LUT 125 a; Cik,Mik, Yik, Kik in the paper-type return LUT; and Cih, Mih, Yih, Kih inthe conversion table; the common table generator calculates the valuesin the conversion table from equations (1) to (4) below.Cih=Cik÷Cio  (1)Mih=Mik÷Mio  (2)Yih=Yiki÷Yio  (3)Kih=Kik÷Kio  (4)

FIG. 16(c) shows conversion tables generated for each paper type. Forexample, as described above, the value of 2.5 for C at grid point number1 in the conversion table for paper type A equals the value of 12.5 forC at grid point number 1 in the corresponding paper-type return LUT(FIG. 16(b)) divided by the value of 5.0 for C at grid point number 1 inthe outbound LUT 125 a (FIG. 7 (A)).

Next, the common table generator normalizes the conversion table tocreate a conversion table that was normalized (referred to below as anormalized conversion table) (step S4 a in FIG. 15). The process ofnormalizing the conversion table is done as follows. First, the maximum(Max) and minimum (Min) values stored for each color at grid pointnumber are obtained. Next, the value stored in the normalized conversiontable for each color is acquired from the following equation (5).yi=(xi−Min)/(Max−Min)  (5)where xi is the value stored for grid point number i in the conversiontable, and yi is the value stored for grid point number i in thenormalized conversion table. The yi values obtained from equation (5)range from 0 to 1.

FIG. 17(a) shows examples of normalized conversion tables.

Next, the common table generator applies an averaging process andnormalization process to the normalized conversion table for each papertype to create a common table (step S5 a in FIG. 15). In the averagingprocess, the common table generator calculates the average of the valuesstored at the same location (same grid point number and same color) inthe normalized conversion table of each paper type, and creates anaverage conversion table storing the calculated averages at the samelocation.

In the normalization process, the common table generator applies thesame normalization process as in step S4 a to the average conversiontables that are created, and saves the resulting table as the commontable 127 a.

FIG. 17(b) shows an example of a common table 127 a that is created.

Next, the common table generator determines the paper type coefficients128 a for each paper type using data used to generate the common table127 a (step S6 a in FIG. 15). The paper type coefficient 128 a is thecoefficient used to convert the common table 127 a to the individualconversion table for each paper type (a table such as shown in FIG.16(c)), and as described above comprises a ratio (α1) and offset (α2).The paper type coefficient 128 a is determined by a specificmathematical method for each paper type and each color. The paper typecoefficient 128 a can be roughly determined by equation (6).Y=X×α1+α2  (6)where X is the value stored in the common table 127 a, and Y is thevalue stored in the conversion table at the same position as X (samegrid point number, same color).

FIG. 17(c) shows examples of the paper type coefficients 128 adetermined for paper types A, B, and C.

Next, the common table generator or the operator stores the commontables 127 a that were generated and the paper type coefficients 128 athat were determined in the storage 129 a of the host computer 1 a (stepS7 a in FIG. 15).

As described above, a common table 127 a is created and can be used inthe printing process. Note that determining the paper type coefficients128 a in step S6 a, and storing the paper type coefficients 128 a instep S7 a, may be omitted.

Processes of the printing system 100 a according to this embodiment aredescribed next. FIG. 18 is a flow chart showing an example of a processof the printing system 100 a. When a print request is asserted by theapplication executor 11 a, the printer driver 12 a receives the printrequest including the original image data (step S11 a in FIG. 18). Notethat information about the type of the print medium used in the printer2 a (referred to below as the paper type identifier) is included in theprint request as a print condition.

The received print request information is passed to the rendering unit121 a, and the rendering unit 121 a executes a rendering process on theoriginal image data contained in the print request to generate RGB pixeldata (step S12 a in FIG. 18).

The print request including the generated RGB pixel data is passed tothe color converter 122 a, and the color converter 122 a then executesthe color conversion process and converts the RGB pixel data to CMYKpixel data (step S13 a in FIG. 18). In this color conversion process,the color converter 122 a, using the outbound LUT 125 a, common table127 a, and paper type coefficient, generates a return LUT (second colorconversion information) for the paper type that is used, and using thegenerated return LUT executes a process appropriate to the paper type.The specific content of the color conversion process is described below.

The print request including the generated CMYK pixel data is passed tothe halftone processor 123 a, and the halftone processor 123 a executesa halftone process on the CMYK pixel data and converts the CMYK pixeldata to dot data (step S14 a in FIG. 18).

The print request including the generated dot data is then passed to thecommand generator 124 a, and the command generator 124 a generates printdata expressing the print request with commands for the printer 2 a(step S15 a in FIG. 18).

The host computer 1 a sends the generated print data to the printer 2 a(step S16 a in FIG. 18).

The printer 2 a receives the print data, and executes a printing processaccording to the commands contained in the print data (step S17 a inFIG. 18). More specifically, the controller 21 a interprets thecommands, and controls the main scanning unit 221 a and sub-scanningunit 222 a of the print mechanism 22 a based on the interpreted result.The print mechanism 22 a operates as controlled, and by thebidirectional operation of the printhead 225 a, ejects ink and prints onthe print medium indicated by the paper type identifier.

The process from requesting printing to printing is thus executed.

FIG. 19 is a flow chart of steps in the color conversion process of thecolor converter 122 a (step S13 a in FIG. 18). The content of the colorconversion process is described below with reference to FIG. 19.

First, the color converter 122 a acquires the data of the outbound LUT125 a stored in the storage 129 a (step S131 a in FIG. 19). Next, thecolor converter 122 a acquires the data of the common table 127 a storedin the storage 129 a (step S132 a in FIG. 19).

Next, the color converter 122 a accesses the paper type coefficients 128a stored in the storage 129 a, and determines whether or not paper typecoefficients corresponding to the paper type identifier contained in theprint request are stored. If the paper type coefficients are stored, thecolor converter 122 a acquires the paper type coefficients (step S133 ain FIG. 19). If the paper type coefficients are not stored, the colorconverter 122 a displays, on the display device (not shown in thefigure) of the host computer 1 a, a prompt to input the paper typecoefficients. If the paper type coefficients are input to the display,the color converter 122 a acquires the input paper type coefficients(step S133 a in FIG. 19). Note that when inputting the paper typecoefficients, the user of the printing system 100 a first determines thetype of paper to be used.

Next, using the acquired outbound LUT 125 a, common table 127 a, andpaper type coefficients, the color converter 122 a generates a returnLUT (second color conversion information) appropriate to the paper typespecified by the paper type identifier (step S134 a in FIG. 19).

More specifically, the color converter 122 a, using the common table 127a and paper type coefficients, first generates a conversion table forthe paper type based on equation (6). Next, the color converter 122 aapplies the generated conversion table to the outbound LUT 125 a togenerate the return LUT (second color conversion information).

If the values of C, M, Y, K at grid point number i in the return LUTthat is generated, outbound LUT 125 a, and conversion table are Cik,Mik, Yik, Kik in the return LUT; Cio, Mio, Yio, Kio in the outbound LUT125 a; and Cih, Mih, Yih, Kih in the conversion table; the colorconverter 122 a calculates the values in the return LUT from equations(7) to (10) below.Cik=Cio×Cih  (7)Mik=Mio×Mih  (8)Yik=Yio×Yih  (9)Kik=Kio×Kih  (10)

Next, using the outbound LUT 125 a and generated return LUT, the colorconverter 122 a converts the RGB pixel data to CMYK pixel data (stepS135 a in FIG. 19). In the color conversion process, the color converter122 a generates CMYK pixel data using the outbound LUT 125 a (firstcolor conversion information) for the RGB pixel data used for outboundprinting, and for the RGB pixel data used for return printing, generatesCMYK pixel data using the return LUT (second color conversioninformation). More specifically, for each pixel in the RGB pixel data,the color converter 122 a converts the R, G, B values of the pixel tothe C, M, Y, K values stored at that grid point in the color conversiontable if that R, G, B value is a grid point in the color conversiontable (outbound LUT 125 a or return LUT); and if that R, G, B value isnot a grid point in the color conversion table, converts the R, G, Bvalues to C, M, Y, K values by the interpolation process described aboveusing the C, M, Y, K values stored for the surrounding grid points.

In this way, a LUT that is equivalent (close to) a paper-type return LUTadjusted for the type of paper used to minimize the color differencesbetween outbound printing and return printing is used for returnprinting.

The color conversion process is executed as described above. Note thatthe paper type used for printing contained in the print request is astandard paper type, and when the storage 129 a stores a return LUT 126a for the standard paper type (third color conversion information), thecolor converter 122 a executes the color conversion process for returnprinting using the stored return LUT 126 a instead of generating areturn LUT.

What the host computer 1 a must have in this embodiment are the threeoutbound LUT 125 a, return LUT 126 a, and common table 127 a, or thethree outbound LUT 125 a, common table 127 a, and paper typecoefficients 128 a for the standard paper type.

Furthermore, the values stored in the conversion table are expressed asa ratio of the color value in the embodiment described above, but may beexpressed as a color value difference. In this case, the common table isalso a table storing color value difference values.

Furthermore, the conversion table may be generated as a conversion tableexpressing the difference between the paper-type return LUT and thereturn LUT 126 a of the standard paper type. By the same methoddescribed above, a common table expressing, as a common tendencyindependent of the paper type, the difference to the return LUT 126 a ofthe standard paper type is first created. When printing, the return LUTappropriate to the type of paper used is generated from the return LUT126 a of the standard paper type, the generated common table, and thepreviously defined paper type coefficients, and used in the colorconversion process.

The color conversion process is also executed on the host computer 1 aside in the printing system 100 a according to this embodiment, but maybe executed on the printer 2 a side.

Furthermore, the color conversion table is adjusted using the paper typeas the printing condition in this embodiment, but the color conversiontable may be adjusted according to other printing conditions, includingtemperature and humidity.

As described above, because a common table 127 a expressing commontendencies of the difference (color difference) between outboundprinting and return printing that are independent of the paper type ispreviously defined, and the user simply inputs a paper type coefficientfor the type of paper used, the image processing device of the printingsystem according to this embodiment and variations thereof can easilysuppress color differences between outbound printing and return printingpasses when printing.

Furthermore, the common table 127 a is information accurately reflectingcommon tendencies as described above because data related to multiplepaper types is normalized and the data is then averaged.

Note that the foregoing embodiment describes a color conversion processfrom RGB color space to CMYK color space, the invention can also beapplied to color conversion processes for converting between other colorspaces.

Embodiment 3

FIG. 20 illustrates the configuration of a variation of a printingsystem including an image processing device according to the invention.The printer driver 12 b shown in FIG. 20 is an example of the imageprocessing device according to the invention. In the color conversionprocess executed in the process of generating print data for a printer 2b that prints bidirectionally (prints in two directions), the printerdriver 12 b adjusts a lookup table (color conversion table) used in thecolor conversion process for the return pass according to the paper typebased on an outbound pass color conversion table (outbound LUT 125 b)and a return pass color conversion table (return LUT 126 b), and usesthe generated lookup table in the color conversion process applied tothe return pass. As a result of this process, color differences betweenoutbound printing and return printing passes produced by the printer 2 bdue to the paper type can be reduced.

As shown in FIG. 20, the printing system 100 b according to thisembodiment includes a host computer 1 b and a printer 2 b, which is acolor inkjet printer that prints bidirectionally.

The host computer 1 b is a host device of the printer 2 b and instructsthe printer 2 b to print, and is, for example, a personal computer.Furthermore, while not shown in the figures, the host computer 1 b has aCPU, RAM, ROM, HDD, display (display device), and operating device(command device).

As shown in FIG. 20, the functional configuration of the host computer 1b includes an application executor 11 b and a printer driver 12 b.

The application executor 11 b is the originator of print requests to theprinter 2 b, and sends image data to be printed (referred to below asthe original image data) to the printer driver 12 b based on the userinputting commands to the host computer 1 b. The original image data isdata in a standard format (such as a GDI (Graphic DataInterface)-compliant format) that expresses text, graphics and otherprint content by object unit. In the original image data, image colorsare expressed as gradations of (such as 256 gray scale values of 0-255)RGB (red, green, and blue) values, for example. Note that theapplication executor 11 b is embodied by a program describing processcontent, and hardware, such as a CPU and RAM, for example, that executesprocesses according to the program.

The printer driver 12 b handles the driver function for the printer 2 b,processes the original image data output from the application executor11 b to generate print data for the printer 2 b, and sends the printdata to the printer 2 b. The printer driver 12 b is embodied by a driverprogram describing the process content, a CPU that executes processesaccording to the program, data used in the processes, and memory storingthe driver program and data.

As shown in FIG. 20, the functional configuration of the printer driver12 b includes a rendering unit 121 b, color converter 122 b, halftoneprocessor 123 b, command generator 124 b, outbound LUT 125 b, return LUT126 b, and adjustment table (α table) 127 b.

The rendering unit 121 b applies a rendering process to the originalimage data output from the application executor lib, and converts theoriginal image data to pixel unit image data. More specifically, therendering unit 121 b converts the original image data to image data inwhich each pixel is expressed as an RGB gradation (for example, one of256 gray scale values ranging from 0 to 255). The resulting pixel unitimage data is referred to below as RGB pixel data.

The color converter 122 b executes a process (color conversion process)that converts the RGB pixel data generated by the rendering unit 121 bto color data (referred to below as CMYK pixel data) expressed by thecolors of ink used by the printer 2 b (in this example, CMYK (cyan,magenta, yellow, black)). The CMYK pixel data is ink volume datarepresenting each pixel as a CMYK gradation (for example, 256 gray scalevalues ranging from 0 to 255). The CMYK image data is data expressingthe volume of each color of ink used in the printer 2 b.

As described above, the color converter 122 b adjusts for a specificprinting condition, such as the type of paper (paper type) used as theprint medium in the printer 2 b, in the color conversion process forprinting on the return pass of the printer 2 b, and this process is afeature of the printing system according to the invention. The specificcontent of the color conversion process, including this adjustmentprocess, is described further below.

The halftone processor 123 b executes a halftone process that convertsthe pixel unit image data to image data expressed by the presence of aprinted dot. In this embodiment, the halftone processor 123 b convertsthe CMYK pixel data to data (referred to below as dot data) expressingwhat CMYK dots are printed for each pixel. A printed dot is a dot thatis formed by the printer 2 b ejecting ink onto the print medium (paper),and in this example multiple different sizes of dots, large, medium, andsmall, are used. The dot data in this example includes, for eachposition on the print medium to which ink is ejected, informationindicating for each color whether or not a large dot is formed, a mediumdot is formed, or a small dot is formed.

The command generator 124 b expresses print requests including the imagedata to be printed as commands for the printer 2 b. The print requestsgenerated by the command generator 124 b are sent as the print data fromthe host computer 1 b to the printer 2 b. The command generator 124 b,when generating a print request (print data), includes the dot data inthe print data by means of commands for the printer 2 b.

The outbound LUT 125 b (first LUT, first color conversion information)and return LUT 126 b (second LUT, second color conversion information)are, respectively, a color conversion table (color conversioninformation) for outbound printing, and a color conversion table forreturn printing, in the printer 2 b. A color conversion table is a tablestoring data for converting the color expression of the image dataoutput from the application executor 11 b to a color expression usingthe colors of ink used in the printer 2 b, and more specifically is atable for the color conversion process of the color converter 122 b. Inthis embodiment of the invention the color conversion table is forconverting color expressions in the RGB color space to color expressionsin the CMYK color space.

The color conversion table stores information for distributing the colorvalues (R, G, B) in a three-dimensional color space expressed by 8 bits(256 levels) for each color, R, G, B to the color values (C, M, Y, K) ina four-dimensional color space expressed by 8 bits (256 levels) for eachcolor C, M, Y, K. By using the color conversion table, a desired colorin the RGB space can be expressed by CMYK values. However, because theamount of data required to map every possible color (approximately 16.77million colors) expressed by 8 bits (256 levels) to the correspondingcolor is massive, the color conversion table actually only stores datafor a specific number of gradations n that is less than 256 gradations.

FIG. 21 shows an example of a color conversion table inthree-dimensional space. The example in FIG. 21(a) expresses each RGBcolor in 18 gradations (n=18), and the color conversion table assigns aCMYK value (C, M, Y, K) to the RGB value (R, G, B) of each of the 17squares on each RGB axis in the RGB color space.

If a color to be converted is not on the grid, the color converter 122 bcalculates the corresponding CMYK values using a suitable interpolationmethod such as tetrahedral interpolation. In this case, to convert thecolor at point O in FIG. 21(a), for example, the CMYK values for point Ocan be obtained from the CMYK values (FIG. 21(b)) corresponding to theeight grid points (A to H) of the unit cube containing point O.

Note that the outbound LUT 125 b and return LUT 126 b respectivelycontain data adjusted to minimize differences in the colors printed inthe printer 2 b on the outbound printing and return printing passesunder a first printing condition, such as when using a print medium of aspecific paper type (referred to below as the standard paper type). Theoutbound LUT 125 b and return LUT 126 b are stored in a ROM or hard diskdrive device, for example.

The α table 127 b is a table storing coefficient α, which is theadjustment value, for the printing condition. In this example, the αtable 127 b relationally stores, for each paper type (printingcondition) of print media used by the printer 2 b, a paper typeidentifier and a coefficient α for that paper type. Coefficient α is acoefficient for generating a color conversion table (third LUT, thirdcolor conversion information) adjusted to minimize the differencebetween colors printed during outbound printing and return printing whenprint media of the paper type corresponding to the coefficient α is usedin the printer 2 b (under a second printing condition). As describedfurther below, the color converter 122 b generates third colorconversion information from the outbound LUT 125 b (first colorconversion information) and return LUT 126 b (second color conversioninformation) for a first printing condition (standard paper type), andcoefficient α, and uses the third color conversion information in thecolor conversion process.

FIG. 22 illustrates an example of an α table 127 b. In the example inFIG. 22, the coefficients α of 1.0, 0.8, and 1.4 are stored for thepaper types AA, BB, and CC. In this example paper type AA is a standardpaper type (first print condition). Paper types include, for example,plain paper, glossy paper, synthetic paper, matte paper, and handmadepaper, and different manufacturers make different types of even plainpaper. Note that a desirable value for each coefficient α is previouslydetermined from tests using actual printed output, for example. The αtable 127 b is also stored in ROM or HDD, for example.

The printer 2 b is a color inkjet printer that executes a printingprocess based on print commands from the host computer 1 b. The printer2 b prints by synchronizing operation of the printhead 225 b, which hasnozzles that eject ink (color material) onto the print medium, in themain scanning direction, and the operation advancing the paper, which isthe print medium, in the sub-scanning direction, and printsbidirectionally (in two directions) by ejecting ink in both directionsof printhead 225 b operation.

As shown in FIG. 20, the printer 2 b has a controller 21 b and a printmechanism 22 b.

The controller 21 b receives print data with the print commands, andcauses the print mechanism 22 a to execute a printing process accordingto the print data. The controller 21 b is embodied by programscontaining process content, a CPU that executes processes according tothe programs, RAM, ROM that stores the programs, or ASIC, for example.

The print mechanism 22 b executes a printing process on the print medium(paper) as instructed by the controller 21 b. As shown in FIG. 20, theprint mechanism 22 b has a main scanning unit 221 b and sub-scanningunit 222 b.

The main scanning unit 221 b has a printhead 225 b with nozzles 227 bthat eject CMYK color inks, a carriage 224 b that carries and moves theprinthead 225 b in the main scanning direction, and a carriage motor 223b for moving the carriage 224 b.

FIG. 23 is a plan view of the printhead 225 b from the nozzle face side.In this example, the printhead 225 b has a plurality of nozzles 227 bcorresponding to the colors black (K), magenta (M), yellow (Y), and cyan(C) arranged in nozzle rows 228 b corresponding to each color in thesub-scanning direction (the conveyance direction of the print medium).In this example, each nozzle row 228 b comprises 180 nozzles 227 b in azigzag patter at a pitch of 180 dpi (dots per inch).

The printheads 225 are arranged in the order K-M-Y-C in the mainscanning direction (direction of carriage 224 b movement), eject ink inthe order K-M-Y-C on the outbound pass, and eject ink in the orderC-Y-M-K on the return pass. Because the ink ejection order differs onthe outbound pass and return pass, the order in which the inks areapplied changes, and color reproduction is different on the outboundpass and return pass. Therefore, if the same color conversion process isapplied in both directions, color differences (mottling) may appearbetween areas printed on the outbound pass and areas printed on thereturn pass. In the color conversion process, this embodiment of theinvention therefore uses two color conversion tables (outbound LUT 125 band return LUT), for outbound printing and return printing. In addition,when a first LUT and second LUT are used, color differences can bereduced under a first printing condition, but reducing color differencesmay not be possible under a second printing condition. In this event, athird LUT is used as described above. In this embodiment, there is adifference in ink characteristics based on the type of paper under thefirst printing condition and second printing condition.

The sub-scanning unit 222 b is a device that conveys the print medium229 b in the sub-scanning direction. The sub-scanning unit 222 b has apaper feed motor 226 b for moving the print medium 229 b synchronized tothe operation of the printhead 225 b.

FIG. 24 illustrates the operation of the carriage 224 b relative to theprint medium 229 b. FIG. 24 shows the relative positions of the printmedium 229 b and carriage 224 b with the carriage 224 b moving in thedirection of the arrows in the figure relative to the print medium 229b. The printer 2 b prints while moving the carriage 224 b in the mainscanning direction from the start printing position P (home position)indicated by the dotted line. When printing to the end of the printimage ends, the printer 2 b stops movement of the carriage 224 b,advances the paper in the sub-scanning direction, and continues printingwhile moving the carriage 224 b to the start printing position P side.When printing to the end of the print image ends, the printer 2 b againstops moving the carriage 224 b, and after advancing the paper in thesub-scanning direction, and continues printing while moving the carriage224 b in the main scanning direction.

The printer 2 b thus prints while repeating printing in the mainscanning direction and the paper conveyance operation in thesub-scanning direction. In this example, printing while the carriage 224b moves to the right in the main scanning direction relative to thesub-scanning direction is referred to as “outbound printing,” andprinting while moving to the left in the main scanning direction isreferred to as “return printing.” The image data for one pass, which isequal to the image printed in the area that is printed during oneoutbound printing pass or return printing pass is referred to below as“partial image data.”

More specifically, the first unit of partial image data (first partialimage data) is printed on the first outbound printing pass. The secondunit of partial image data (second partial image data) is then printedon the following return printing pass, and the third unit of partialimage data (third partial image data) is then printed on the followingoutbound printing pass. Odd numbered partial image data is thus printedduring outbound printing, and even numbered partial image data isprinted during return printing. When printing the entire image iscompleted, the carriage 224 b is moved to the start printing position Pand then waits for the next print command.

Processing is executed as described below in the printing system 100 baccording to the embodiment of the invention configured as describedabove.

FIG. 25 is a flow chart showing an example of the process of theprinting system 100 b. When a print request is asserted by theapplication executor 11 b, the printer driver 12 b receives the printrequest including the original image data (step S1 b in FIG. 25). Notethat information about the type of the print medium used in the printer2 b (referred to below as as the paper type identifier) is included inthe print request as a print condition.

The received print request information is passed to the rendering unit121 b, and the rendering unit 121 b executes a rendering process on theoriginal image data contained in the print request to generate RGB pixeldata (step S2 b in FIG. 25).

The print request including the generated RGB pixel data is passed tothe color converter 122 b, and the color converter 122 b then executesthe color conversion process and converts the RGB pixel data to CMYKpixel data (step S3 b in FIG. 25). In this color conversion process, thecolor converter 122 b generates a third LUT (third color conversioninformation) for the return pass using the outbound LUT (first colorconversion information), return LUT (second color conversioninformation), and adjustment table (α table) 127 b, and using the thirdLUT executes a process appropriate to the paper type specified by thepaper type identifier. The specific content of the color conversionprocess is described below.

The print request including the generated CMYK pixel data is passed tothe halftone processor 123 b, and the halftone processor 123 b executesa halftone process on the CMYK pixel data and converts the CMYK pixeldata to dot data (step S4 b in FIG. 25).

The print request including the generated dot data is then passed to thecommand generator 124 b, and the command generator 124 b generates printdata expressing the print request with commands for the printer 2 (stepS5 b in FIG. 25).

The host computer 1 b sends the generated print data to the printer 2 b(step S6 b in FIG. 25).

The printer 2 b receives the print data, and executes a printing processaccording to the commands contained in the print data (step S7 b in FIG.25). More specifically, the controller 21 b interprets the commands, andcontrols the main scanning unit 221 b and sub-scanning unit 222 b of theprint mechanism 22 b based on the interpreted result. The printmechanism 22 b operates as controlled, and by the bidirectionaloperation of the printhead 225 b, ejects ink and prints on the printmedium indicated by the paper type identifier.

The process from requesting printing to printing is thus executed.

FIG. 26 is a flow chart of steps in the color conversion process of thecolor converter 122 b (step S3 b in FIG. 25).

First, the color converter 122 b acquires the data of the outbound LUT125 b and return LUT 126 b (step S31 b in FIG. 26).

Next, the color converter 122 b determines the difference (referred tobelow as DIF) between the amounts of ink (amounts of colorant) in theoutbound LUT 125 b and return LUT 126 b (step S32 b in FIG. 26). Morespecifically, for each grid point (R, G, B) described above, the colorconverter 122 b calculates the difference of the value of each color(color data) (C, M, Y, K) stored in the return LUT 126 b (referred tobelow as (C2, M2, Y2, K2)) minus the value of each corresponding color(C, M, Y, K) stored in the outbound LUT 125 b (referred to below as (C1,M1, Y1, K1)). More specifically, the color converter 122 b calculatesthe values ΔC=C2−C1, ΔM=M2−M1, ΔY=Y2−Y1, ΔK=K2−K1 for each grid point(R, G, B).

Next, the color converter 122 b acquires the value of coefficient α fromthe α table 127 (step S33 b in FIG. 26). More specifically, the colorconverter 122 b reads from the α table 127 b the value of thecoefficient α stored relationally to the paper type identified by thepaper type identifier contained in the print request. In the example inFIG. 22, if the paper type is BB, the color converter 122 b acquires thevalue 0.8 as the value of coefficient α.

Next, the color converter 122 b generates third color conversioninformation for return printing appropriate to the paper type identifiedby the paper type identifier (step S34 b in FIG. 26). The colorconverter 122 b generates the third color conversion information byreflecting the difference in the amounts of ink in the outbound LUT 125b and return LUT 126 b on the values of the outbound LUT 125 b at aratio proportional to the value of the acquired coefficient α.

More specifically, the color converter 122 b calculates, for each gridpoint, the (C, M, Y, K) values (referred to below as (C3, M3, Y3, K3))corresponding to the (R, G, B) values of each grid point in the thirdcolor conversion information using the following equations.C3=C1+α×ΔCM3=M1+α×ΔMY3=Y1+α×ΔYK3=K1+α×ΔK

Note that the grid points (R, G, B) are the same in the outbound LUT 125b, return LUT 126 b, and third LUT.

Next, the color converter 122 b converts the RGB pixel data to CMYKpixel data using the outbound LUT 125 b and third LUT (step S35 b inFIG. 26). In the color conversion process, the color converter 122 bgenerates CMYK pixel data using the outbound LUT 125 b for the RGB pixeldata used for outbound printing, and for the RGB pixel data used forreturn printing, generates CMYK pixel data using the third LUT. Morespecifically, for each pixel in the RGB pixel data, the color converter122 b converts the R, G, B values of the pixel to the C, M, Y, K valuesstored at that grid point in the color conversion table if that RGBvalue is a grid point in the color conversion table (outbound LUT 125 bor third LUT); and if that RGB value is not a grid point in the colorconversion table, converts the R, G, B values to C, M, Y, K values bythe interpolation process described above using the C, M, Y, K values ofthe surrounding grid points.

In this way, a color conversion table (third LUT) that is adjustedaccording to the type of paper used for printing to minimize colordifferences between outbound printing and return printing is used forreturn printing.

The color conversion process is executed as described above. Note thatthe color converter 122 b may store the generated third LUT untilprocessing the next print request. In this case, if the paper typespecified by the next print request is the same as the paper type usedto generate the third LUT, the color converter 122 b can omit theprocess of steps S31 b to S34 b in the color conversion process appliedto the next print request, and the stored third LUT can be used in stepS35 b.

Changing (adjusting) the color conversion table for return printingbased on coefficient α is described above, but the color conversiontable for outbound printing may also be changed according to the papertype. This configuration also generates a new color conversion table foroutbound printing based on the difference between the outbound LUT 125 band return LUT 126 b using coefficients previously defined for the papertype as described above, and uses the color conversion table that isgenerated in the color conversion process.

Third LUTs corresponding to different paper types may also be previouslygenerated and stored, and the appropriate third LUT may be used in thecolor conversion process.

In addition, the color conversion process is executed on the hostcomputer 1 b side in the printing system 100 b according to thisembodiment, but may be executed on the printer 2 b side.

Furthermore, the color conversion table is adjusted using the paper typeas the printing condition in this embodiment, but the color conversiontable may be adjusted according to other printing conditions, includingtemperature and humidity.

As described above, because the color conversion tables for outboundprinting and return printing according to a printing condition, such asthe type of paper used, are adjusted in a color conversion process thatconverts image data to ink colors used in the printer, an imageprocessing device in a printing system according to this embodiment andvariations thereof can minimize color differences between outboundprinting and return printing under specific printing conditions.

In addition, adjusting the color conversion tables can be done by arelatively simple process using coefficients predetermined according toa printing condition.

Note that the foregoing embodiment describes a color conversion processfrom RGB color space to CMYK color space, the invention can also beapplied to color conversion processes for converting between other colorspaces.

The scope of the invention is not limited to the foregoing embodiment,and includes the invention described in the accompanying claims andequivalents thereof.

REFERENCE SIGNS LIST

-   1 host computer-   2 printer-   11 application executor-   12 printer driver-   21 controller-   22 print mechanism-   23 print unit-   100 printing system-   121 rendering unit-   122 color converter-   123 halftone processor-   124 command generator-   125 outbound LUT-   126 return LUT-   127 adjustment table-   211 print controller-   212 color conversion information adjuster-   221 main scanning unit-   222 sub-scanning unit-   223 carriage motor-   224 carriage-   225 printhead-   226 paper feed motor-   227 nozzles-   228 nozzle rows-   229 print medium (paper)

The invention claimed is:
 1. A printer comprising: a print unit thatmoves a head in both a first direction and second direction; and acontroller that generates a first direction print image based on firstdirection color conversion information for a first print medium, andgenerates a second direction print image based on second direction colorconversion information for a second print medium, the second directioncolor conversion information for the second print medium being generatedby adjusting second direction color conversion information for the firstprint medium; and the controller controlling the print unit to print thefirst direction print image in the first direction on the second printmedium, and print the second direction print image in the seconddirection on the second print medium.
 2. The printer described in claim1, wherein: the head can print multiple colors, and the order of colorsprinted in the first direction, and the order of colors printed in thesecond direction, are different.
 3. The printer described in claim 1,wherein: the controller controls the print unit; and prints the firstdirection print image and second direction print image in contrast toeach other on the second print medium.
 4. The printer described in claim1, wherein: the second direction color conversion information for thesecond print medium is the second direction color conversion informationfor the first print medium adjusted by a specific coefficient; and thecontroller generates plural second direction print images using seconddirection color conversion information for plural second print mediumsadjusted based on multiple values of the specific coefficient, andcontrols the print unit to print each of the second direction printimages in contrast to the first direction print image.
 5. The printerdescribed in claim 4, further comprising: storage; the controlleracquiring an identifier related to one of the plural second directionprint images printed on the second print medium by the print unit, andstoring the identifier relationally to the specific coefficientcorresponding to the one second direction print image.
 6. The printerdescribed in claim 5, wherein: the printer can connect to a host device;and the controller, when controlling the print unit to print on thesecond print medium, when printing in the first direction, acquires fromthe host device and prints image data converted using the firstdirection color conversion information for the first print medium, andwhen printing in the second direction, acquires from the host device andprints image data converted using the second direction color conversioninformation for the second print medium that was adjusted based on astored specific coefficient value.
 7. A printing method comprising:using a head capable of moving in both a first direction and a seconddirection while printing; generating a first direction print image basedon first direction color conversion information for the first printmedium; generating a second direction print image based on seconddirection color conversion information for the second print medium, thesecond direction color conversion information for the second printmedium being generated by adjusting second direction color conversioninformation for the first print medium; and moving the head in the firstdirection to print the first direction print image on the second printmedium, and moving the head in the second direction to print the seconddirection print image on the second print medium.